package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.PmFaultsMapper;
import com.ruoyi.system.domain.PmFaults;
import com.ruoyi.system.service.IPmFaultsService;

/**
 * 光伏版面设备故障信息Service业务层处理
 *
 * @author ruoyi
 * @date 2024-04-23
 */
@Service
public class PmFaultsServiceImpl implements IPmFaultsService {
    @Autowired
    private PmFaultsMapper pmFaultsMapper;

    /**
     * 查询光伏版面设备故障信息
     *
     * @param faultId 光伏版面设备故障信息主键
     * @return 光伏版面设备故障信息
     */
    @Override
    public PmFaults selectPmFaultsByFaultId(Long faultId) {
        return pmFaultsMapper.selectPmFaultsByFaultId(faultId);
    }

    /**
     * 查询光伏版面设备故障信息列表
     *
     * @param pmFaults 光伏版面设备故障信息
     * @return 光伏版面设备故障信息
     */
    @Override
    public List<PmFaults> selectPmFaultsList(PmFaults pmFaults) {
        return pmFaultsMapper.selectPmFaultsList(pmFaults);
    }

    /**
     * 新增光伏版面设备故障信息
     *
     * @param pmFaults 光伏版面设备故障信息
     * @return 结果
     */
    @Override
    public int insertPmFaults(PmFaults pmFaults) {
        LoginUser loginUser = SecurityUtils.getLoginUser();
        pmFaults.setCreateId(loginUser.getUserId());
        pmFaults.setCreateUser(loginUser.getUsername());
        pmFaults.setStatus("1");
        return pmFaultsMapper.insertPmFaults(pmFaults);
    }

    /**
     * 修改光伏版面设备故障信息
     *
     * @param pmFaults 光伏版面设备故障信息
     * @return 结果
     */
    @Override
    public int updatePmFaults(PmFaults pmFaults) {
        LoginUser loginUser = SecurityUtils.getLoginUser();
        pmFaults.setCreateId(loginUser.getUserId());
        pmFaults.setCreateUser(loginUser.getUsername());
        return pmFaultsMapper.updatePmFaults(pmFaults);
    }

    /**
     * 批量删除光伏版面设备故障信息
     *
     * @param faultIds 需要删除的光伏版面设备故障信息主键
     * @return 结果
     */
    @Override
    public int deletePmFaultsByFaultIds(Long[] faultIds) {
        return pmFaultsMapper.deletePmFaultsByFaultIds(faultIds);
    }

    /**
     * 删除光伏版面设备故障信息信息
     *
     * @param faultId 光伏版面设备故障信息主键
     * @return 结果
     */
    @Override
    public int deletePmFaultsByFaultId(Long faultId) {
        return pmFaultsMapper.deletePmFaultsByFaultId(faultId);
    }
}
